<?php
require_once dirname(__FILE__) . '/cbase.php';

class CLivro extends CBase {

	public function __construct() {
		parent::__construct();
	}
	
	
	public function index() {
		redirect('clivro/listar/', 'refresh');
	}
	
	public function listar() {
		$this->template->add_js(js_url() . 'livro/listar.js');
		$this->template->write_view('conteudo','livro/listar');
		$this->template->render();
	}
		
	public function manter($id) {
		$livro = new Livro();
		if ($id) {
			$livro->{$livro->__dm['primaria']} = $id;
			$livro = $livro->recuperar();
			$dados['livro'] = $livro[0];
		}
		else {
			$dados['livro'] = $livro;
		}
	
		$this->template->add_js(js_url() . 'livro/manter.js');
		$this->template->write_view('conteudo','livro/manter', $dados);
		$this->template->render();
	}
	
	public function salvar() {
		$livro = new Livro();
		$livro->setFrom($_POST);
	
		if ($livro->{$livro->__dm['primaria']})
			$livro->alterar();
		else
			$livro->inserir();
			
		redirect('clivro/listar/', 'refresh');
	}
	
	public function ajaxExcluir() {
		$livro = new Livro();
		$livro->{$livro->__dm['primaria']} = $this->input->post('id');
		$livro->excluir();
	}
	
	public function ajaxBuscarLivro() {
		$limite = $this->input->get('limite');
		$inicio = ($this->input->get('pagina') - 1) * $limite;
		$order  = $this->input->get('order');
		$order = explode(' ', $order);
		$direcao = $order[1];
	
		//titulos da tabela q estiverem com 'ordenar':true,
		switch ($order[0]) {
			case '1':
				$campo_ordenacao = 'li_titulo';
				break;
	
			case '2':
				$campo_ordenacao = 'li_autor';
				break;
	
			case '3':
				$campo_ordenacao = 'li_ano';
				break;
	
			default:
				$campo_ordenacao = 'li_id';
		}
	
		$livro = new Livro();
		$livro->li_titulo = $this->input->get('titulo') . '%';
		$livro->li_autor = $this->input->get('autor') . '%';
		$livro->li_ano = $this->input->get('ano').'%';
		
		$resp['total'] = count($livro->recuperar());
		
		$livro2 = clone ($livro);

		$livro2->ordenarPor("$campo_ordenacao $direcao");
		$livro2->limite($limite, $inicio);
		$objs = $livro2->recuperar();
		
		//echo $this->db->last_query();

		$total_pagina = count($objs);
		for ($i = 0; $i < $total_pagina; $i++) {
	
			//gera html dos botoes
			$dadosBotoes['id'] = $objs[$i]->{$livro->__dm['primaria']};
			$botoes = $this->load->view('livro/botoes',$dadosBotoes,true);
	
			$z = 1;
			$resp['data'][$i][$z++] = $objs[$i]->li_titulo;
			$resp['data'][$i][$z++] = $objs[$i]->li_autor;
			$resp['data'][$i][$z++] = $objs[$i]->li_ano;
			$resp['data'][$i][$z++] = $botoes;
		}
	
		echo json_encode($resp);
	}
	
}